package com.kaikeba.service.impl;

import com.kaikeba.bean.Courier;
import com.kaikeba.bean.User;
import com.kaikeba.dao.CourierDao;
import com.kaikeba.dao.impl.CourierDaoImpl;
import com.kaikeba.service.CourierService;

import java.util.List;
import java.util.Map;

public class CourierServiceImpl implements CourierService {

    private CourierDao dao = new CourierDaoImpl();

    /**
     * 用户返回控制台中所需的数据
     * {（快递员人數）c_sum：xxx,（日注册量）c_day：xxx}
     *
     * @return
     */
    @Override
    public Map<String, Integer> console() {
        return dao.console();
    }

    /**
     * 查找全部快递并根据参数判断是否分页
     *
     * @param limit      是否分页 true（默认）分页  false 不分页
     * @param offset     起始索引
     * @param pageNumber 单页显示数量
     * @return
     */
    @Override
    public List<Courier> findAll(boolean limit, int offset, int pageNumber) {
        return dao.findAll(limit,offset,pageNumber);
    }

    /**
     * 根据用户电话号码查询快递信息
     *
     * @param userPhone 用户电话号码
     * @return
     */
    @Override
    public List<Courier> findByCourierPhone(String userPhone) {
        return dao.findByCourierPhone(userPhone);
    }

    /**
     * 录入
     *
     * @param c 录入的快递对象
     * @return 录入的结果，true表示成功，false表示失败
     */
    @Override
    public boolean insert(Courier c) {
        c.setPassNumber(0);
        return dao.insert(c);
    }

    /**
     * 用户修改
     *
     * @param id         要修改的快递员id
     * @param newCourier 新的快递对象（userName，userPhone,identityNumber,password）
     * @return 修改的结果，true表示成功，false表示失败
     */
    @Override
    public boolean update(int id, Courier newCourier) {
        return dao.update(id,newCourier);
    }

    /**
     * 删除
     * @param id 需要删除的用户id
     * @return
     */
    @Override
    public boolean delete(int id) {
        return dao.delete(id);
    }

    /**
     * 用于微信端用户的登录
     *
     * @param userPhone 用户手机号码
     * @param password  密码
     * @return
     */
    @Override
    public Courier login(String userPhone, String password) {
        return dao.login(userPhone,password);
    }


}
